iT邦幫忙

2023 iThome 鐵人賽

DAY 9
1
AI & Data

初次抓舉AI的世界系列 第 9

半監督式演算法 D2 - Self-training 與 Co-training

  • 分享至 

  • xImage
  •  

今天要來介紹 2 個有點相似的半監督式演算法:Self-training 與 Co-training,Self-training 演算法會著重於使用模型預測來擴充訓練數據,而 Co-training 演算法則強調不同視圖(view)或特徵的融合,以提高性能

接下來,讓我們來了解他們的運作方式!


Self-training

步驟

  1. 模型初始化:使用已標記數據對模型進行初始訓練
  2. 使用模型進行預測:使用訓練後的模型來對未標記的資料進行預測
  3. 將可信度高的預測加入訓練集:預測結果可能會伴隨著可信度分數,將那些可信度高的預測加進訓練集,並將它們視為具有正確標籤的標記資料
  4. 更新模型:現在有了一個擴充的訓練集,包括了原始的標記資料和新加入的高可信度預測資料。使用這個擴充的訓練集來重新訓練模型
  5. 迭代:重複執行第 2 到第 4 步,直到達到停止條件
    例如模型性能不再提高或未標記的資料耗盡為止

Co-training

思想是透過分別訓練多個模型來互相補充資訊,從而提高對未標記數據的分類性能

步驟

  1. 模型初始化:使用已標記數據來對兩個或多個獨立的模型進行初始化
    每個模型會以不同的方式初始化,例如使用不同的子集或特徵當作輸入
  2. 選擇:在每次迭代中,從未標記數據挑選出一些資料點,這些資料點對於當前模型的一個或多個預測是不確定的
    通常會通過計算模型的不確定性度量來完成
  3. 分別訓練模型:使用已標記數據和被選中的未標記數據,分別訓練每個模型。這些模型的訓練過程是獨立的,並且每個模型都根據其自身特徵集進行訓練。
  4. 預測未標記資料:使用訓練好的模型對剩餘的未標記數據進行預測。每個模型對未標記資料點進行預測,並對預測結果進行可信度的評估
  5. 標記資料點:從未標記資料中選擇那些被多個模型 預測為正確的資料點(即可信度高的),將其標記,使其成為已標記資料,以用至下一輪的訓練中
  6. 更新模型:使用已標記的新數據更新每個模型
  7. 迭代:重複執行第 2 到第 6 步,直到達到停止條件
    例如達到最大迭代次數或未標記數據的標記數量已達到一個閾值

上一篇
半監督式演算法 D1 - Label Propagation algorithm(LPA)
下一篇
半監督式演算法 D3 - PU Learning 介紹
系列文
初次抓舉AI的世界30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言